]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Store GjsContext pointer in ShellGlobal
authorColin Walters <walters@verbum.org>
Sat, 24 Oct 2009 17:40:13 +0000 (13:40 -0400)
committerColin Walters <walters@verbum.org>
Wed, 28 Oct 2009 16:31:58 +0000 (12:31 -0400)
Future functionality in ShellGlobal needs access to the GjsContext.

https://bugzilla.gnome.org/show_bug.cgi?id=599561

src/gnome-shell-plugin.c
src/shell-global-private.h [new file with mode: 0644]
src/shell-global.c

index 0485480f7087ad523f316e62b47fdfb00547226d..bf6c6a04f812ce8151c69070618aee18ccbe6288 100644 (file)
@@ -40,7 +40,7 @@
 
 #include "display.h"
 
-#include "shell-global.h"
+#include "shell-global-private.h"
 #include "shell-wm.h"
 
 static void gnome_shell_plugin_constructed (GObject *object);
@@ -192,6 +192,8 @@ gnome_shell_plugin_constructed (GObject *object)
   shell_plugin->gjs_context = gjs_context_new_with_search_path(search_path);
   g_strfreev(search_path);
 
+  _shell_global_set_gjs_context (shell_global_get (), shell_plugin->gjs_context);
+
   if (!gjs_context_eval (shell_plugin->gjs_context,
                          "const Main = imports.ui.main; Main.start();",
                          -1,
diff --git a/src/shell-global-private.h b/src/shell-global-private.h
new file mode 100644 (file)
index 0000000..234388c
--- /dev/null
@@ -0,0 +1,12 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#ifndef __SHELL_GLOBAL_PRIVATE_H__
+#define __SHELL_GLOBAL_PRIVATE_H__
+
+#include "shell-global.h"
+
+#include <gjs/gjs.h>
+
+void _shell_global_set_gjs_context (ShellGlobal *global,
+                                    GjsContext  *context);
+
+#endif /* __SHELL_GLOBAL_PRIVATE_H__ */
index bad17065c309e70b77f4e4241d6491bfe7ad72b5..ccb37348000f352600a866814da475469b3221d8 100644 (file)
@@ -18,6 +18,7 @@
 #include <glib/gi18n-lib.h>
 #include <math.h>
 #include <X11/extensions/Xfixes.h>
+#include <gjs/gjs.h>
 
 #define SHELL_DBUS_SERVICE "org.gnome.Shell"
 
@@ -37,7 +38,8 @@ struct _ShellGlobal {
 
   ShellStageInputMode input_mode;
   XserverRegion input_region;
-  
+
+  GjsContext *js_context;
   MutterPlugin *plugin;
   ShellWM *wm;
   const char *datadir;
@@ -445,6 +447,13 @@ _shell_global_set_plugin (ShellGlobal  *global,
   global->wm = shell_wm_new (plugin);
 }
 
+void
+_shell_global_set_gjs_context (ShellGlobal *global,
+                               GjsContext  *context)
+{
+  global->js_context = context;
+}
+
 /**
  * shell_global_begin_modal:
  * @global: a #ShellGlobal